home *** CD-ROM | disk | FTP | other *** search
/ Wayzata's Best of Shareware PC/Windows 2 / Wayzata's Best of Shareware 2.0 (Windows) (Wayzata Technology)(7112)(1994).bin / pc / dos / utility / zpro210 / ziprpro.rev < prev   
Text File  |  1994-08-21  |  45KB  |  1,041 lines

  1.                  ZIP'R Professional For DOS Revision History
  2.  
  3.  
  4. 08-22-94 ■ Version 2.10
  5.  
  6.          . Added code to make sure that ZIP'R Pro does not attempt
  7.            to display the button menu if no .ZPD files could be
  8.            found in the \ZIPRPRO sub-directory.
  9.  
  10.          . Added a command to reset the window coordintes after a
  11.            user selects a button from the button menu to make sure
  12.            that the DisplayPrelogValues routines write information
  13.            to accurate locations.  (This routine uses absolute screen
  14.            writing, requiring that the window be set to 1,1,80,25.)
  15.  
  16.          . Created two new routines to set the file attributes for
  17.            files to read-only and normal, and replaced numerous
  18.            instances in the code where the file was being manually
  19.            reset to specific attributes.
  20.  
  21.          . Corrected a potential problem where file attributes could
  22.            have been set on a non-existent compressed file.
  23.  
  24.          . Added support for the new button style menu to re-read the
  25.            directory after returning from executing the ZIF Editor.
  26.            In the event that files are created or deleted from the
  27.            ZIP'R Pro directory, ZIP'R Pro will regenerate the dialog
  28.            box to display an accurate collection of buttons.
  29.  
  30.          . Added a button style interface to ZIP'R Pro to make it more
  31.            user friendly.  When "ZIPRPRO.EXE" is executed without any
  32.            passed parameters, the new menu interface will pop up and
  33.            display a list of all available .ZPD files.  Users can click
  34.            the left mouse button over a push button to execute the
  35.            corresponding program, or they can click the right mouse
  36.            button over a push button to invoke the ZIF Editor and edit
  37.            the corresponding file.
  38.  
  39.  
  40. 08-16-94 ■ Version 2.03
  41.  
  42.          . Fixed a major problem when using internal ZIP compression.
  43.            When attempting to recompress a program using the Update
  44.            option, users would receive an Error Number 5, (File Access
  45.            Denied).  The compressed file had been marked as read-only, and
  46.            therefore could not be initialized for any other action.  This
  47.            error condition did not appear when using a Novell network, so
  48.            internal beta-testing efforts did not catch the problem.  Added
  49.            code to make sure the compressed file's attributes were properly
  50.            set before any action to the file is attempted.
  51.  
  52.          . Updated the version number code in the registration
  53.            procedure.
  54.  
  55.          . Fixed several Clear-Screen problems by replacing the
  56.            built-in Clear-Screen command with a custom routine
  57.            that resets the Window to 1,1, 80,25.
  58.  
  59.  
  60. 07-18-94 ■ Version 2.02
  61.  
  62.          . Enhanced ZIP'R Pro's ability to handle "overwrite" error
  63.            messages generated by PKUNZIP.EXE or ARJ.EXE.  When either
  64.            of these programs detects a file on the hard drive that
  65.            already exists in the compressed file, they will issue an
  66.            overwrite message, prompting the user whether or not the
  67.            file should be replaced with the one located in the
  68.            compressed file.  Each of these programs will then generate
  69.            an exit code, which normally causes ZIP'R Pro to cease the
  70.            program execution and terminate.  Since these errors are
  71.            non-fatal errors, ZIP'R Pro now offers users the choice of
  72.            whether to continue with normal program execution or not.
  73.  
  74.            Why is this necessary?  The most common need for this feature
  75.            is when programs such as Central Point Anti-Virus or Microsoft
  76.            Anti-Virus place "CHKLIST.CPS" or "CHKLIST.MS" files in each
  77.            directory when a virus scan is executed on a user's computer.
  78.            The first time this happens, the compressor (PKZIP, for example)
  79.            adds the left-over virus file into the archive.  The next time
  80.            a virus scan is executed, PKUNZIP detects that a file by the
  81.            same name exists in the program directory, generates an exit
  82.            code, and thus causes ZIP'R Pro to terminate execution.  (This
  83.            could prove to be frustrating, since a file by this name is
  84.            placed in EVERY scanned directory.)  ZIP'R Pro will now detect
  85.            if an overwrite message occurs, and will display a message
  86.            box, allowing the user the option of whether to continue
  87.            with the normal program execution or not.
  88.  
  89.  
  90.          . Fixed a problem where ZIP'R Pro was not trapping and
  91.            reporting errors that occurred during the decompression
  92.            process.  Instead, ZIP'R Pro would simply error out, and
  93.            terminate program execution.  (This bug was introduced
  94.            in version 2.00.)
  95.  
  96.  
  97. 07-11-94 ■ Version 2.01
  98.  
  99.          . Version 2.01 of ZIP'R Pro contains an updated INSTALL.EXE
  100.            file.  One of our users reported that InocuLAN (by Cheyenne
  101.            Software) was reporting an occurrence of the Tony-H virus in
  102.            the INSTALL.EXE file.  We believe this was a false-positive
  103.            report, and not cause for alarm.  However, we are releasing
  104.            ZIP'R Pro 2.01 with the INSTALL.EXE file in uncompressed
  105.            format.  Also, the file BONUS.DOC has been removed.
  106.  
  107.  
  108. 06-29-94 ■ Version 2.00
  109.  
  110.          . Added support for a user-specified compression mode.
  111.            Valid values are BestMethod, Deflate, Implode, Shrink,
  112.            and Store.
  113.  
  114.          . Added support for a user-specified deflate level when
  115.            using internal ZIP compression.
  116.  
  117.          . Added support for user-specified implode values when using
  118.            internal ZIP compression.
  119.  
  120.          . Converted the ClrScr w/Error Message calls to use the
  121.            HandleError procedure.
  122.  
  123.          . Changed the ProcessErrorCode procedure to a function.
  124.  
  125.          . Modified the HandleError procedure to allow it to process
  126.            error codes that must be passed to the ShowErrorMessage
  127.            procedure.
  128.  
  129.          . Changed the DeletedFiles variable in the COMP unit from a
  130.            literal string to a boolean.
  131.  
  132.          . Changed the MatchingFileFound variable in the COMP unit from
  133.            a literal string to a boolean.
  134.  
  135.          . Added code to only display the gauge window when necessary and
  136.            resize the compression window depending on whether the gauge
  137.            window is displayed or not.
  138.  
  139.          . Changed gauge window display to be indented rather than out-
  140.            dented.
  141.  
  142.          . Added a fail-safe check to the DeleteAllFilesExcept routine
  143.            to make sure that the current directory is not the root
  144.            directory of a hard drive.
  145.  
  146.          . Added a fail-safe check to make sure that the Accurate File
  147.            Size Calculation displays Level 4 on the prelog screen when
  148.            Internal ZIP is being used.  (With Internal ZIP, all calculations
  149.            are 100% accurate.)
  150.  
  151.          . Changed the directory existence checks to use a procedure from
  152.            a commercial library, instead of our own STSI library.  Our
  153.            procedure was not handling root directories properly.
  154.  
  155.          . Added code to read the current entry when decompressing a .ZIP
  156.            file with the Internal ZIP code.  New code makes sure that any
  157.            imbedded directories are created if they do not exist.  Any
  158.            directory entries contained without files are discarded.  This
  159.            allows more complete compatibility with PKWare's PKZIP.  Previous
  160.            code would cause a decompression error to occur.
  161.  
  162.          . Moved all of the DrawHeader and DrawCompressionScreen calls inside
  163.            of the ZPExec routine, where possible.  This fixed a problem where
  164.            incorrect messages were sometimes displayed during the compression
  165.            or decompression processes.
  166.  
  167.          . Fixed several issues relating to the display of the decompression
  168.            query box that pops up when a duplicate file exists on the hard
  169.            drive.  Widened the available display for the filename and
  170.            potential directory entry, and added fail-safe code to truncate
  171.            these on the left side if they get too long.
  172.  
  173.          . Modified the remaining routines in the COMP, DECOMP, and
  174.            EXECUTE units to use the HandleError procedure.
  175.  
  176.          . Created a common procedure in the COMP unit to contain the
  177.            compression signal file related detection and creation
  178.            code.
  179.  
  180.  
  181. 06-20-94 ■ Version 1.28  (Internal BETA Version - Not Released!)
  182.  
  183.          . Fixed a problem where the screen was not being cleared after
  184.            windowed decompression.  Added a reset of the screen and
  185.            color output.
  186.  
  187.          . Modified shadows on compression and decompression screens
  188.            to be completely black.
  189.  
  190.          . Added a command to reset the Window coordinates before
  191.            attempting to write the file count or twirling bars display
  192.            to the screen.  After adding several window-relative routines,
  193.            both displays were being written to a relative window, instead
  194.            of the absolute screen coordinates.
  195.  
  196.          . Fixed a problem where the title and copyright notice on the
  197.            Query screen started "disappearing" after other Internal
  198.            ZIP windowing routines had been implemented.  Used window-
  199.            relative screen writing instead of absolute screen writing.
  200.  
  201.          . Created a textured background screen for the Internal ZIP
  202.            compression and decompression windows.
  203.  
  204.          . Added a "Moving files.  Please wait!" header to the display
  205.            screen when files are being deleted after the compression
  206.            process.
  207.  
  208.          . Added a call to the UpdateGaugeWindow procedure during the
  209.            file deletion process to provide a visual progress indicator.
  210.  
  211.          . Altered the DeleteAllFilesExcept procedure to use a direct
  212.            directory search to delete files, instead of a FileMaskList
  213.            generated from the original archive file.  This allows the
  214.            procedure to work in all situations.
  215.  
  216.          . Changed the name of the stDeleteFilesIntZIP procedure to
  217.            DeleteAllFilesExcept.
  218.  
  219.          . Created a header window to be used for displaying status
  220.            messages during the compression / decompression processes.
  221.            This replaces old code which simple used absolute screen
  222.            writing.
  223.  
  224.          . Added a bar graph and compression/decompression window
  225.            to be used when Internal ZIP is used as the compression
  226.            type for a program.  The bar graph is updated depending on
  227.            the current file vs. the total files to be compressed or
  228.            the total files located inside the ZIP file.
  229.  
  230.          . Created a common HandleError procedure in the Errors unit
  231.            to centralize the compression/decompression error handling.
  232.  
  233.          . Created a common LaunchExternalDecompressor procedure in the
  234.            Decomp unit, reducing final .EXE code size by about 2K.
  235.  
  236.          . Worked around a problem where an empty sub-directory would
  237.            cause an error #2 during the compression process (File Not
  238.            Found).
  239.  
  240.          . Set up a file counter to keep track of the total number
  241.            of files that will be compressed into the internal ZIP
  242.            generated file.
  243.  
  244.          . Enabled sub-directory creation during internal ZIP
  245.            decompression.
  246.  
  247.          . Added code to recurse sub-directories during the internal
  248.            ZIP compression process.
  249.  
  250.          . Made sure that the compression and decompression signal
  251.            files are erased if an error occurs during internal ZIP
  252.            compression or decompression.
  253.  
  254.          . Added code to call the Done routine if an error occurs
  255.            during the internal ZIP compression / decompression
  256.            processes.
  257.  
  258.          . Created a routine to calculate the exact disk space
  259.            needed for extracting a ZIP file when using the
  260.            internal ZIP compression / decompression routines.
  261.  
  262.          . Added preliminary support for internal PKZIP 2.0
  263.            compatible compression and decompression.
  264.  
  265.  
  266. 06-10-94 ■ Version 1.27
  267.  
  268.          . No coding changes.
  269.  
  270.  
  271. 05-26-94 ■ Version 1.26
  272.  
  273.          . Changed the AddBackSlash procedure to stAddBackSlash
  274.            when generating the ZIPRProPath.  stAddBackSlash adds
  275.            a backslash when the last character in the path is a
  276.            colon.
  277.  
  278.          . Modified the behavior of the prelog screen display
  279.            to prevent the screen from being displayed if the
  280.            PrelogDelay was set to 0.
  281.  
  282.          . Fixed a problem where the prelog screen was being
  283.            displayed when the PrelogType was set to NONE.
  284.  
  285.          . Changed all "Halt" statements to "stHalt(?)", where
  286.            ? is the ERRORLEVEL.
  287.  
  288.          . Changed an error message in the DECOMP unit to use
  289.            an stTVMessageBox.
  290.  
  291.  
  292.  
  293. 04-22-94 ■ Version 1.25
  294.  
  295.          . No modifications.  (See ZIFPRO.REV for modifications
  296.            to the ZIF Editor Pro.
  297.  
  298.  
  299. 03-26-94 ■ Version 1.24
  300.  
  301.          . Removed all /CLEANUP option code from ZIPRPRO.  This
  302.            option is now available from the ZIF Editor.  A code
  303.            size reduction of about 11K was achieved.
  304.  
  305.          . Modified code so that ZIP'R Pro does not execute the
  306.            program when the /TEST parameter is being used.  It
  307.            simply displays the parameters and exits.
  308.  
  309.          . Changed the "TEST" parameter to "/TEST".
  310.  
  311.          . Fixed a problem where the compression signal file
  312.            was not being deleted if an error occured while
  313.            attempting to test the archive integrity.
  314.  
  315.          . Fixed a problem where an error message was not being
  316.            issued if a compression or decompression signal file was
  317.            detected.  ZIPRPRO would simply exit, with no warning.
  318.  
  319.          . Created enumerated types for PrelogType and
  320.            RegisteredVersion, replacing the literal strings used
  321.            previously.
  322.  
  323.          . Re-worked the INI and ZIF test display procedures to
  324.            use string arrays.  This change reduced the code
  325.            size slightly, and substantially reduced the complexity
  326.            of these procedures.
  327.  
  328.          . Converted the ScanActivityIndicator string variable
  329.            to an enumerated type.  Corrected a problem where a
  330.            mis-spelling of a literal string could have caused
  331.            the Twirling Bars to fail to work.
  332.  
  333.          . Added a common function to search for ARJ, LHA,
  334.            PKZIP, and PKUNZIP in their respective paths, the
  335.            ZIP'R Pro path, and the DOS PATH before calling
  336.            any of these programs.  The common function reduced
  337.            the code size by .5K.
  338.  
  339.          . Modified code to check for the existence of a backslash
  340.            at the end of the ARJ, LHA, and ZIP paths after they
  341.            are read from the .INI file.  If a trailing backslash
  342.            is not detected, one is added.
  343.  
  344.  
  345. 03-10-94 ■ Version 1.23
  346.  
  347.          . Modified an error message about the program parent
  348.            directory not being present to be more accurate by
  349.            stating that either the program parent directory or
  350.            the main program directory is not present.
  351.  
  352.          . Converted the FloppyFormat variable to an enumerated
  353.            type within the code for easier variable-checking.
  354.  
  355.          . Added a ZPExec procedure that contains all compression
  356.            and decompression related Exec functions.  (Code size
  357.            reduction of 6.5K.)
  358.  
  359.          . Moved several boolean variables into the INI and ZIF
  360.            records, to make the code more concise.
  361.  
  362.          . Changed the default value for SubdirectoryDeletion to
  363.            True.
  364.  
  365.          . Changed If..Else If statments in Errors unit to a Case
  366.            statement to make the code shorter and more concise.
  367.  
  368.          . Moved all common string literal declarations into a new
  369.            ZPSTRING unit.
  370.  
  371.          . Increased the estimated string array size for Exclude,
  372.            Extract, IN, OUT, TSRPre, and TSRPost commands.
  373.  
  374.          . Converted CompressionType literal strings to an
  375.            enumerated type.
  376.  
  377.          . Changed all error message strings that were passed as
  378.            variables to a global routine into an enumerated type.
  379.            This allows automatic compiler validation, and shortened
  380.            the code by over 10K.
  381.  
  382.  
  383. 03-03-94 ■ Version 1.22
  384.  
  385.          . Added 3D effects to query and error screen dialog boxes.
  386.  
  387.          . Added an IOResult check and corresponding error message
  388.            if the ProgramParent directory can not be successfully
  389.            created on a RAM Disk.
  390.  
  391.          . Circumvented a potential problem in the compression and
  392.            decompression routines where a default value for the
  393.            Compression and Decompression Swap parameters was not
  394.            being set.  The compression procedure would issue an
  395.            error message under this circumstance.  Altered the
  396.            code to provide a fail-safe parameter assignment.
  397.  
  398.          . Corrected a problem in the ARJ Decompression procedure
  399.            where the "Default" Decompression Swap parameter was
  400.            not being read.
  401.  
  402.          . Added code to convert the ZIPRPROPath to upper case.
  403.  
  404.          . Removed several "EraseDecompressionSignalFile"
  405.            statements from the beginning of the DecompressZipFile
  406.            procedure.  This file had not yet been created at
  407.            this point in the procedure.
  408.  
  409.          . Corrected a problem where the update option was not
  410.            working properly.  (Broken in 1.22, not released.)
  411.  
  412.          . Fixed a problem where a runtime error 202 would occur
  413.            if the file PKUNZIP.EXE could not be found.  The
  414.            runtime error would be issued prior to displaying the
  415.            error message from ZIPRPRO.  (Increased stack.)
  416.  
  417.          . Added automatic ProgramParent directory creation if
  418.            extracting to a RAM disk.
  419.  
  420.          . Added preliminary support for extraction to a RAM disk.
  421.  
  422.          . Corrected a problem where an error message would be
  423.            issued if the "Program" directory did not exist.  This
  424.            created a problem if a "Program Parent" directory was
  425.            specified, since the program directory might not exist
  426.            under this circumstance.
  427.  
  428.          . Corrected a problem where the .N?? file was not being
  429.            deleted if errors were detected when checking the
  430.            validity of the values in the .INI and .ZIF files.
  431.  
  432.          . Shortened several code segments by using better coding
  433.            techniques.
  434.  
  435.          . Corrected a potential problem where the .SXT signal
  436.            file could be mistakenly deleted by ZIPRPRO.
  437.  
  438.          . Combined the Done and DoneNoSXTDelete routines into a
  439.            common procedure.  Added an enumerated type variable
  440.            to pass to this procedure, informing it of any
  441.            restrictions to observe.
  442.  
  443.  
  444. 02-26-94 ■ Version 1.21
  445.  
  446.          . Corrected minor spacing / carriage return problems on
  447.            dialog box (Query) screens.
  448.  
  449.          . Corrected a potential problem where the /CLEANUP option
  450.            would delete files in the current directory, not the
  451.            ZIPRPRO sub-directory, if launched from a directory
  452.            other than the ZIPRPRO sub-directory.
  453.  
  454.          . Corrected a problem where a runtime error 2 would occur
  455.            in the CreateSubDirectoriesUnderOS2 procedure, because
  456.            an Else statement was omitted.
  457.  
  458.          . Streamlined the code by creating two erase file routines
  459.            to replace the separate erase routines used previously.
  460.  
  461.  
  462. 02-16-94 ■ Version 1.20
  463.  
  464.          . Fixed a major problem where the original .ZIP file
  465.            could be deleted if the executable file could not be
  466.            found and update option was enabled.  (Data loss could
  467.            occur in this situation, especially if Selective
  468.            Extraction or Selective Exclusion was enabled.)
  469.  
  470.          . Added support to erase the *.DFL, *.NFL, *.OFL, and
  471.            *.DIR files when using the /Cleanup option.
  472.  
  473.          . Added support to manually create subdirectories when
  474.            operating under OS/2.  This option will circumvent a
  475.            potential problem where PKUNZIP cannot create sub-
  476.            directories under OS/2.  (This problem has been reported
  477.            to PKWare.)
  478.  
  479.          . Updated IFDEF and IFNDEF statements throughout the code
  480.            to minimize code size for each module.
  481.  
  482.          . Moved several string pointer variables into the INI and
  483.            ZIF record variables.
  484.  
  485.          . Reduced the ARJ and LHA default memory requirements
  486.            to more realistic levels.
  487.  
  488.          . Re-compiled with updated libraries.
  489.  
  490.          . Corrected a problem in the stTV3ChoiceBox procedure
  491.            that caused the box to be too narrow to properly
  492.            center a long header.
  493.  
  494.          . Added support to display the Command Processor and
  495.            ZIP'R Pro Path information in the new style message
  496.            boxes.
  497.  
  498.          . Corrected a problem where the TestFlag boolean was
  499.            not being set early enough in the code to display
  500.            the INI Parameters screen.  (%2 = TEST)
  501.  
  502.          . Added support to display the .INI Parameters in the
  503.            new style message boxes.
  504.  
  505.          . Added all missing .ZPD Parameters to the ZPD Parameter
  506.            display procedure.  Added code to display the first
  507.            10 INCommands, OUTCommands, ExcludeFiles, ExtractFiles,
  508.            TSRPreProgramCommands, and TSRPostProgramCommands.
  509.  
  510.          . Added support to read old style .ZPD files, prior
  511.            to current version.  (Set internal flags if the new
  512.            UseINCommands, UseOUTCommands, UseTSRPreCommands,
  513.            and UseTSRPostCommands variables could not be found
  514.            in the .ZPD file.)
  515.  
  516.          . Added support to display the .ZPD Parameters in the
  517.            new style message boxes.
  518.  
  519.          . Fixed a problem in the stTV3ChoiceBox procedure, that
  520.            caused a system hang if the maximum number of lines
  521.            exceeded the pre-defined limit.
  522.  
  523.          . Added support to read UseINCommands, UseOUTCommands,
  524.            UseTSRPreCommands, and UseTSRPostCommands variables
  525.            from the .ZPD file.
  526.  
  527.  
  528. 01-30-94 ■ Version 1.19a  (Internal Release)
  529.  
  530.          . Corrected a problem where the swap file name was not
  531.            being passed to the swapping exec procedure.  (This
  532.            problem was introduced, in version 1.20, when the
  533.            common exec swapping functions were created.)
  534.  
  535.          . Added support to specify whether EMS memory is to be
  536.            used over XMS memory for the swapping exec procedure.
  537.            The default behavior is to use EMS first, but may be
  538.            overridden.
  539.  
  540.          . Added support to swap to XMS memory during program
  541.            execution, if available.  Previously, only EMS or
  542.            disk was used for the swap file.
  543.  
  544.          . Modified the swapping-related procedure calls to force
  545.            a swap (default) as a fail-safe procedure.
  546.  
  547.          . Modified the WindowedCompression and WindowedDecompression
  548.            procedure calls to automatically force windowed mode
  549.            (default) as a fail-safe procedure.
  550.  
  551.          . Converted all execute calls to use the new procedures.
  552.  
  553.          . Removed the STSI2 unit from the uses clause to prevent
  554.            unnecessary compilation.
  555.  
  556.          . Corrected a problem where the swap file (.SWF extension)
  557.            was not being erased when the /Cleanup option was
  558.            specified.  (This file has the system attribute set.)
  559.  
  560.          . Created common execution functions to reduce code
  561.            size and complexity.
  562.  
  563.          . Corrected a potential problem where the compressed
  564.            file could have been deleted, if an incorrect value
  565.            for CompressionSwap or DecompressionSwap was read from
  566.            the .INI file.
  567.  
  568.          . Converted the internal SortedExtraction variable
  569.            to a Boolean type.
  570.  
  571.          . Corrected a problem where the .INI file was not
  572.            being read prior to checking the cleanup password.
  573.  
  574.          . Changed the behavior of the cleanup password
  575.            procedure to not prompt for a password if the
  576.            password is blank.
  577.  
  578.          . Converted internal WindowedCompression and
  579.            WindowedDecompression variables to Boolean types.
  580.  
  581.          . Reduced the memory requirement default values for
  582.            PKZIP and PKUNZIP.  (New default swapping option will
  583.            be added to the ZIF Editor.)
  584.  
  585.          . Re-worked the .INI and .ZIF read routines to make the
  586.            code faster and more concise.
  587.  
  588.          . Added support for the new INIVersion, ZIFVersion,
  589.            UseDiskForExecSwap, UseEMSForExecSwap, and
  590.            UseXMSForExecSwap parameters.
  591.  
  592.          . Re-arranged the order and placement of passed parameter
  593.            related code, to allow the disposal of unnecessary
  594.            pointer variables.
  595.  
  596.          . Modified dialog box code to allow centering or left
  597.            justification.
  598.  
  599.          . Changed all error messages to be displayed using the
  600.            new style dialog boxes.
  601.  
  602.          . Converted all query screens to the new style.
  603.            Corrected various punctuation problems in the text
  604.            of the new screens.
  605.  
  606.          . Modified cleanup password field to automatically
  607.            convert characters entered to upper case.
  608.  
  609.          . Corrected a problem in the swapping Exec routines
  610.            where the executed program would hang.  (This problem
  611.            was caused by the mouse handler routines not being
  612.            disabled before performing the swap, and was introduced
  613.            in version 1.20.)
  614.  
  615.          . Added password protection for the /Cleanup option.
  616.  
  617.          . Updated prelog screen to show the amount of Heap memory
  618.            available.
  619.  
  620.  
  621. 01-20-94 ■ Version 1.19
  622.  
  623.          . Added additional error messages for new error checking
  624.            procedures, and corrected a typo in a separate error
  625.            message.
  626.  
  627.          . Enhanced the conventional memory available routine to
  628.            provide a more accurate estimate of the amount of
  629.            conventional memory available on the system.  (This
  630.            figure approximates the free memory reported by MEM.)
  631.  
  632.          . Corrected a problem where the logic controlling the
  633.            loading of a command processor was backwards when
  634.            executing a .BAT or .BTM file
  635.  
  636.          . Added a check to force a command processor to be
  637.            loaded if the program to be executed contains a
  638.            .BAT or .BTM extension.
  639.  
  640.          . Added support to execute the desired program without
  641.            loading a command processor first.  This increases
  642.            the memory available to the program by about 3-5K.
  643.  
  644.          . Removed unnecessary "Continue" statements from the
  645.            INI and ZIF file read routines.
  646.  
  647.          . Converted internal string pointer variables to use
  648.            INI and ZIF records.
  649.  
  650.          . Added support in the TSR Container file section to
  651.            use the AlternateEXELaunchDirectory feature.
  652.  
  653.          . Fixed a problem where the "CALL" statement was not
  654.            being placed in front of the program name in the TSR
  655.            Container file if the Parameters field was blank.
  656.  
  657.          . Corrected a potential problem where the current drive
  658.            and directory was not being set prior to executing
  659.            OUT commands.  This could have been a problem if the
  660.            current drive and/or directory was changed during
  661.            program execution, such as when shelling to DOS.
  662.  
  663.          . Added support for an alternate EXE launch directory
  664.            to make it possible to launch a program from a
  665.            directory other than the one in which the executable
  666.            file resides.  (The program does NOT have to be an
  667.            EXE file.)  This feature allows programs, such as
  668.            Microsoft Works, Borland Pascal, and others, to be
  669.            executed from a data subdirectory.
  670.  
  671.          . Added preliminary support for string encryption and
  672.            decryption.
  673.  
  674.  
  675. 01-06-94 ■ Version 1.18
  676.  
  677.          . Improved the Conventional memory estimate on the
  678.            prelog screen to more accurately reflect the amount
  679.            of memory available after swapping.
  680.  
  681.          . Updated the BIOS screens to match the direct-write
  682.            screens.
  683.  
  684.          . Added support for AUTO, DIRECT, and BIOS screen write
  685.            modes.  This should help to solve any screen-related
  686.            compatibility problems that might exist.
  687.  
  688.          . Added video mode detection when using the AUTO screen
  689.            writes option.
  690.  
  691.          . Updated the prelog screen to display the status of the
  692.            Use Atomic Lock Files option.
  693.  
  694.          . Updated the prelog screen to display the Selective
  695.            Extraction (SXT) and Selective Exclusion (SXC) entries
  696.            separately.  (If either option is disabled, the
  697.            corresponding entry count will be 0.)
  698.  
  699.          . Updated the prelog screen to display the status of the
  700.            new Subdirectory Deletion option.
  701.  
  702.          . Added support to NOT delete sub-directories when using
  703.            PKZIP v2.04g.  This switch is necessary when an OS/2
  704.            system is operating on a network in combination with
  705.            other systems.  Due to some sort of conflict, sub-
  706.            directories can not be re-created under OS/2.  (Unsure
  707.            whether this is an OS/2, NetWare Requester, or PKZIP
  708.            caused problem.)  This switch can only be used with
  709.            PKZIP v2.04g.
  710.  
  711.          . Added preliminary support for compression program version
  712.            number tracking.  Future versions of ZIP'R Professional
  713.            may support compression program features that might not
  714.            be available in previous versions of the compression
  715.            program.
  716.  
  717.          . Corrected an alignment problem on the FileCount indicator.
  718.  
  719.          . Added a FileCount / Twirling Bar indicator to the AFSC
  720.            Level 4 screen to display the progress of the file size
  721.            scanning.  (Due to the high scanning speed, this feature
  722.            will be useful only on compressed files with an extremely
  723.            high number of files.)
  724.  
  725.  
  726. 01-01-94 ■ Version 1.17
  727.  
  728.          . Corrected a problem where .SXT signal files were not
  729.            being deleted when the /CLEANUP switch was used.
  730.  
  731.          . Corrected a possible ambiguity in the ExecDOS error
  732.            messages.  (#-5 changed to # -5.)
  733.  
  734.          . Updated the AFSC routines to use integer division, which
  735.            eliminates the extra rounding step needed for reals.
  736.  
  737.          . Corrected a problem in the AFSC Level 4 (ZIP) calculation
  738.            procedure that would cause erroneous calculations.  (The
  739.            file size returned would always be 0.)
  740.  
  741.  
  742. 12-27-93 ■ Version 1.16
  743.  
  744.          . Fixed a problem where an extra hyphen was being prepended
  745.            to the compression command line.
  746.  
  747.          . Added CompressionOptions support to the ARJ and LHA
  748.            compression procedures.  (LHA does not currently support
  749.            this feature.)
  750.  
  751.          . Fixed a problem where the CompressionOptions field in the
  752.            .ZPD file was not being passed to PKZIP.
  753.  
  754.          . Fixed a minor problem where ".ZIP" was hard-coded onto the
  755.            Query For Compression screen.  If ARJ or LHA was being used,
  756.            the screen would still say that the resulting compressed file
  757.            would have a .ZIP extension.
  758.  
  759.          . Added an additional check for PKZIP.EXE before decompressing
  760.            a .ZIP file when using Selective Extraction or Selective
  761.            Exclusion.  This is important, because when these options are
  762.            enabled, the program MUST be re-compressed to preserve all
  763.            data files.
  764.  
  765.          . Fixed a potential problem where the existence of PKZIP.EXE
  766.            was not being verified before deleting files from the
  767.            original .ZIP file.
  768.  
  769.          . Fixed a potential problem where ZIP'R Professional was not
  770.            verifying the existence of PKUNZIP.EXE and PKZIP.EXE before
  771.            attempting to create the temporary file lists.
  772.  
  773.          . Added an additional check to attempt to locate the selected
  774.            compressor on the DOS PATH.  ZIP'R Professional will use the
  775.            path specified in the ZIPRPRO.INI file if the program exists.
  776.            If the program cannot be found, the ZIPRPRO directory is
  777.            searched.  If this search fails, the DOS PATH is searched.
  778.  
  779.  
  780. 12-25-93 ■ Version 1.15
  781.  
  782.          . Cleaned up some internal routines related to cleaning up
  783.            signal files before exiting ZIP'R Professional.
  784.  
  785.          . Changed the .ZPD and .INI file read routines to reduce
  786.            overhead and increase speed.
  787.  
  788.  
  789. 12-22-93 ■ Version 1.14
  790.  
  791.          . Added error reporting to the error trapping sections of
  792.            the IN Command, Program, and OUT Command routines.  If an
  793.            error is detected in any of these routines, ZIP'R Pro will
  794.            report the error and query the user whether to continue.
  795.            The error reporting routines will also report whether the
  796.            error was generated by the command processor (Error Code)
  797.            or by the IN Command, OUT Command, or Program (Exit Code).
  798.  
  799.          . Corrected a problem in the Accurate File Size Calculation
  800.            routines where the selective extraction and exclusion
  801.            entries were still being used, even if the file was being
  802.            decompressed from a floppy disk.
  803.  
  804.          . Fixed a major problem where data loss could occur if the
  805.            compressed file was stored on a floppy diskette, and
  806.            selective extraction or selective exclusion was enabled.
  807.            This is a rather rare combination of options, but since
  808.            data loss is likely, it is prudent to upgrade previous
  809.            versions of ZIP'R Professional For DOS.
  810.  
  811.          . Corrected a problem where the cursor would disappear
  812.            following some query screens.
  813.  
  814.          . Added /CLEANUP option to erase all signal files from the
  815.            ZIPRPRO sub-directory.  This option should be used with
  816.            care to ensure that no other processes are using ZIP'R
  817.            Professional.
  818.  
  819.  
  820. 12-20-93 ■ Version 1.13
  821.  
  822.          . Corrected a problem where a program that is executed
  823.            using a batch file, that also used a TSR container file
  824.            would not return control to ZIP'R Professional for
  825.            re-compression.  The solution was to "CALL" the batch
  826.            file from the TSR container file.
  827.  
  828.          . Corrected a problem where the Decompression Signal File
  829.            might not get deleted under some error situations.
  830.  
  831.          . Completed the transfer of code to common units to allow
  832.            code sharing between different components of the ZIP'R
  833.            Professional series of programs.
  834.  
  835.          . Added conditional defines to allow code sharing between
  836.            ZIP'R Professional For DOS and the ZProcessor component
  837.            of ZIP'R Professional For Windows.
  838.  
  839.          . Isolated a problem creating sub-directories under OS/2
  840.            to the use of "Global" network sessions.  The Novell
  841.            OS/2 requestor handles directory creation differently
  842.            under global or private network sessions.  ZIP'R Pro
  843.            should be used in a private session if sub-directories
  844.            must be re-created.
  845.  
  846.          . Checked into a potential problem with AFSC Level 4 if
  847.            the lines were too long, and wrapped on the screen.
  848.            The function used to handle the string to long integer
  849.            conversion correctly handles this situation, and ignores
  850.            any strings that it can't convert.  No action necessary.
  851.  
  852.  
  853. 12-05-93 ■ Version 1.12
  854.  
  855.          . Added error checking to make sure that compression
  856.            cannot occur to floppy drives unless the compression
  857.            program being used is PKZIP.  (Other compression
  858.            programs do not currently support spanning floppies.)
  859.  
  860.          . Changed the way ZIP'R Professional deals with the
  861.            attributes of a compressed file that resides on a
  862.            floppy diskette.  The attributes of these files
  863.            will not be changed, since we do not know which
  864.            diskette is in the drive, and multiple diskettes
  865.            may be required to store the compressed file.
  866.  
  867.          . Fixed a problem with floppy compression where the
  868.            query for compression floppy diskette was occurring
  869.            too late.  This caused programs to be compressed
  870.            to floppy diskettes properly, but they could not be
  871.            decompressed.  (After further checking, the programs
  872.            could be decompressed, but the prompt for the
  873.            decompression floppy disk was in the wrong position.
  874.            A work-around was to simply make sure that the disk
  875.            was in the drive.)
  876.  
  877.          . Added Compress/Decompress and TSR Entries indicators
  878.            to prelog screen.  Separated Net/Multi to be two
  879.            separate indicators, and added code to detect them
  880.            individually.
  881.  
  882.          . Added a program halt command following the error
  883.            message display if the ZIPRPRO.INI file cannot be
  884.            found.
  885.  
  886.          . Corrected a problem where the .ZIP file was not
  887.            being deleted if Update mode and Compress/Decompress
  888.            only mode were enabled.
  889.  
  890.          . Added code to force a total decompression if
  891.            "Compress/Decompress Only" is enabled.  This will
  892.            prevent problems if all files are not extracted.
  893.  
  894.          . Corrected a problem where the .DSF file was not
  895.            being deleted under various circumstances in the
  896.            decompression module.
  897.  
  898.          . Corrected a potential problem where logging to a
  899.            non-existent program or program parent directory
  900.            was not calling the "Done" procedure.
  901.  
  902.          . Removed unnecessary ZipName pointer variable, and
  903.            replaced with CompressedFileName pointer variable.
  904.  
  905.          . Corrected a problem where the .DSF (Decompression
  906.            Signal File) was not being deleted if an error
  907.            occurred during the CheckSpaceForDecompression
  908.            procedure.  (This problem could manifest itself
  909.            if the compressed file was corrupt.)
  910.  
  911.  
  912. 11-26-93 ■ Version 1.11
  913.  
  914.          . Added error message if Selective Exclusion is enabled,
  915.            but no file specifications have been entered.
  916.  
  917.          . Corrected problems where three delete routines were
  918.            not marking the compressed file with normal attributes,
  919.            generating a run-time error.  (Code 5, File Access
  920.            Denied)  This error would occur when query mode was
  921.            enabled, and the program was not re-compressed.
  922.  
  923.          . Updated random filename generator code in the DECOMP
  924.            procedure to use the new method for generating
  925.            random filename prefixes.
  926.  
  927.          . Added "Selective Exclusion" feature to complement
  928.            Selective Extraction.  Selective Exclusion allows
  929.            certain files or groups of files to be excluded
  930.            from extraction.
  931.  
  932.          . Changed the prelog screen to display the number of
  933.            Selective Extraction files (entries) and the number
  934.            of simultaneous ZIPRPRO licenses.
  935.  
  936.  
  937. 11-21-93 ■ Version 1.10
  938.  
  939.          . Changed the logic in the prelog screen to highlight
  940.            Query Option if Selective Extraction is enabled, but
  941.            the compression type is not ZIP.
  942.  
  943.          . Changed the countdown code on the prelog screen to
  944.            count to 0.
  945.  
  946.          . Added code to mark the compressed file as ReadOnly
  947.            during ZIPRPRO operations.  This should help to
  948.            reduce the chances of accidently deleting the original
  949.            compressed file during update mode (inconvenience) or
  950.            during selective extraction (potential disaster).
  951.  
  952.          . Added code to mark all signal and temporary files
  953.            ReadOnly, to prevent other processes from erasing them.
  954.            Also added code to mark files as normal before attempting
  955.            to delete them.
  956.  
  957.          . Corrected a problem where the atomic lock files were
  958.            not being closed properly after creation.
  959.  
  960.          . Re-worked the token and temporary file creation and
  961.            detection routines to use variable names and file
  962.            extensions that fit their function.
  963.  
  964.          . Moved the code to generate a random filename prefix
  965.            to a separate, common procedure, reducing the
  966.            complexity of the routines that require these names.
  967.  
  968.          . Added error message codes to trap the condition if
  969.            more than one users attempts to access a compressed
  970.            file when Selective Extraction is turned on.
  971.  
  972.          . Fixed a problem where the .TK1 file was being created
  973.            on programs that did not need to be decompressed, and
  974.            the .TK1 file was not being deleted.
  975.  
  976.          . Moved .TK1 and .TK2 file detection and creation to a
  977.            common area of the DecompressZipFile procedure.
  978.  
  979.          . Changed the signal file checking order to accomodate
  980.            the new Selective Extraction .SXT file.
  981.  
  982.          . Fixed a problem where the Selective Extraction .SXT
  983.            signal file was being created in error.  (A non-atomic
  984.            file was being created.)
  985.  
  986.          . Added code to limit access to the compressed file if
  987.            selective extraction is being used by any user.
  988.  
  989.          . Added error message code to trap the condition if
  990.            Selective Extraction is turned on, but no files are
  991.            entered for extraction.
  992.  
  993.          . Corrected a problem where the procedure to calculate
  994.            the space required to decompress the compressed file
  995.            was being executed when the compression type was NONE,
  996.            and no compressed file existed.
  997.  
  998.          . Checked out a potential problem with PKUNZIP erroring
  999.            out if files specified for extraction did not exist.
  1000.            It turns out that PKUNZIP simply ignores this type of
  1001.            error, eliminating the need to deal with it in ZIPRPRO.
  1002.  
  1003.          . Added code to disable Query mode if using Selective
  1004.            Extraction.  (This is necessary to insure the integrity
  1005.            of the original compressed file, and to prevent errors
  1006.            when attempting to decompress files a second time.)
  1007.  
  1008.          . Corrected problems in the CheckSpaceForDecompression
  1009.            procedure where an EXIT was being executed before the
  1010.            selective extraction container file was generated.
  1011.  
  1012.          . Revised the code in the CalculateExactFileSize routine
  1013.            to base its calculations on the list of files to be
  1014.            extracted, if Selective Extraction is enabled.
  1015.  
  1016.          . Added the more rigid compressed file type checking to
  1017.            the internal CalculateExactFileSize, DecompressZipFile,
  1018.            and CheckSpaceForDecompression procedures.
  1019.  
  1020.          . Eliminated the automatic detection of compressed file
  1021.            archive types.  Now, the type of compressed file must
  1022.            match the compression type specified in the .ZPD file.
  1023.            (If users wish to change compression types, they must
  1024.            use a compression type of "NONE" for one pass.  Then,
  1025.            the file may be re-compressed with the new compressor.)
  1026.  
  1027.          . Added fail-safe code to the prelog screen procedure
  1028.            that will show grayed-out check marks if any options
  1029.            have been disabled by ZIP'R Professional.
  1030.  
  1031.          . Updated prelog screen to show the status of the new
  1032.            "Selective Extraction" option.
  1033.  
  1034.          . Added support for "Selective Extraction" when using
  1035.            PKZIP/PKUNZIP.
  1036.  
  1037.  
  1038. 11-15-93 ■ Version 1.00
  1039.  
  1040.          . Initial release of ZIP'R Professional For DOS.
  1041.